$(function () {
    //封装一个获取所有分类的函数,方便重复调用
    function Getclass() {
        $.ajax({
            url: News.category_list,
            headers: { Authorization: localStorage.getItem('get_big_token') },
            success: function (res) {
                let html = template('itemizeTemp', res)
                $('tbody').html(html)
            }
        })
    }

    //新增分类的弹出模态框事件
    $('.addclasses').on('click', function () {
        $('#classmodal').modal('show')
        $('.modal-title').text('新增分类')
        $('.btnOpt').text('新增')
        $('#exampleInputname').val('')
        $('#exampleInputslug').val('')
    })

    //删除按钮与编辑按钮的处理事件
    $('tbody').on('click', 'a', function () {
        let id = $(this).data('id')
        //列表的删除事件
        if ($(this).text() == '删除') {
            if (confirm('是否删除')) {
                $.ajax({
                    type: 'post',
                    url: News.category_delete,
                    headers: { Authorization: localStorage.getItem('get_big_token') },
                    data: { id },
                    success: function (res) {
                        alert(res.msg)
                        Getclass()
                    },
                    dataType: 'json'
                })
            }
        }
        //列表的编辑按钮弹出模态框事件
        if ($(this).text() == '编辑') {
            $('#classmodal').modal('show')
            $('.modal-title').text('编辑分类')
            $('.btnOpt').text('保存')
            //根据ID获取文章类别给编辑器里的value赋值
            $.ajax({
                url: News.category_search,
                headers: { Authorization: localStorage.getItem('get_big_token') },
                data: { id },
                success: function (res) {
                    $('#exampleInputname').val(res.data[0].name)
                    $('#exampleInputslug').val(res.data[0].slug)
                    $('.btnOpt').prop('id', id)
                }
            })

        }
    })

    //模态框保存提交事件
    $('.btnOpt').on('click', function () {
        let name = $('#exampleInputname').val()
        let slug = $('#exampleInputslug').val()
        let id = $(this).prop('id')
        //编辑按钮的提交事件
        if ($(this).text() == '保存') {
            itemOpt(News.category_edit, { id, name, slug })
        }
        //新增按钮的提交事件
        if ($(this).text() == '新增') {
            if (!name && !slug) {
                alert('不能为空')
                return
            }
            itemOpt(News.category_add, { name, slug })
        }
    })


    //模态框保存以及提交重复复用,故封装函数
    var itemOpt = function (url, data) {
        $.ajax({
            url,
            type: 'post',
            headers: { Authorization: localStorage.getItem('get_big_token') },
            data,
            success: function (res) {
                alert(res.msg)
                Getclass()
                $('#classmodal').modal('hide')
            },
            error: function (err) {
                alert('不能添加重复名称,请重新输入')
                $('#exampleInputname').val('')
                $('#exampleInputslug').val('')
            },
            dataType: 'json'
        })
    }

    Getclass()
})